home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / source / dptools / cursor.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1994-10-08  |  2.0 KB  |  87 lines

  1. {programme de test pour le logiciel mousedtv }
  2. program test_curseur;
  3. uses crt,dos;
  4. Type
  5.   dessin_curseur = record
  6.                      contx,conty    : integer;
  7.                      mask_ecran   : array[0..15] of word;
  8.                      mask_curseur : array[0..15] of word;
  9.                    end;
  10.  
  11. { ------------- mettre les consts -------------- }
  12. const main: dessin_curseur = (contx:0; conty:0;
  13.  mask_ecran:   (65407,65087,65087,54335,
  14.                32831,32831,32831,15,
  15.                7,7,7,7,
  16.                7,15,15,32783);
  17.  mask_curseur:   (128,320,320,11072,
  18.                21824,21824,21824,32880,
  19.                32840,32840,32840,32776,
  20.      32776,32784,32784,32752));
  21. const tetemort: dessin_curseur = (contx:0; conty:0;
  22.  mask_ecran:   (65535,57359,57335,42011,
  23.                44253,44253,42013,49149,
  24.                54779,57339,57335,57231,
  25.                54655,54655,49279,65535);
  26.  mask_curseur:   (0,8176,8200,23524,
  27.                21282,21282,23522,16386,
  28.                10756,8196,8200,8304,
  29.      10880,10880,16256,0));
  30.  
  31. var status,nbbouton:integer;
  32. Procedure GraphMode;  {set 320x200x256 mode}
  33. begin
  34.      Asm
  35.         Mov     AH,00
  36.         Mov     AL,13h
  37.         Int     10h
  38.      end;
  39. end;
  40.  
  41. procedure mousestatus(var status,nbbouton:integer);
  42. var regs: REGISTERS;
  43. BEGIN
  44.     with regs do
  45.      BEGIN
  46.      ax:=0;
  47.      intr($33,regs);
  48.      status:=ax;
  49.      nbbouton:=bx;
  50.   END;
  51. END;
  52.  
  53. procedure montrepointeur;
  54. var regs: REGISTERS;
  55. BEGIN
  56.   with regs do
  57.     BEGIN
  58.      ax:=1;
  59.      intr($33,regs);
  60.     END;
  61. END;
  62.  
  63. Procedure change_souris(var p:dessin_curseur);
  64. Var reg : registers;
  65. begin
  66.     with reg,p do
  67.     begin
  68.       ax:=9;
  69.       bx:=contx;
  70.       cx:=conty;
  71.       dx:=ofs(mask_ecran[00]);
  72.       es:=seg(mask_ecran[00]);
  73.     end;
  74.     intr($33,reg);
  75. end;
  76. begin
  77. mousestatus(status,nbbouton);
  78. if status=0 then begin writeln('souris requise');halt(1);end;
  79.     graphmode;
  80.     montrepointeur;
  81.     change_souris(main);
  82.     readkey;
  83.     change_souris(tetemort);
  84.     readkey;
  85. textmode(co80);
  86. end.
  87.